package com.cxs.ormdemo.db.model;

import ohos.data.orm.OrmObject;
import ohos.data.orm.annotation.Entity;
import ohos.data.orm.annotation.PrimaryKey;

// User 自定义的实体类，需要继承OrmObject， User里的属性就对应了表里的字段
// Entity注解：表示这是一个实体类，对应数据库中的表
// tableName： 数据库中的表名
// ignoredColumns： 忽略，表示不会在数据库里生成对应的字段
// indices： 索引列表， firstName”和“lastName”两个字段建立了复合索引“name_index”，unique： 索引值是否唯一
@Entity(tableName = "user")
public class User extends OrmObject {
    // @PrimaryKey: 设为主键 (autoGenerate: 是否自增)
    @PrimaryKey(autoGenerate = true)
    private Integer userId;
    private int age;
    private String name;

    public User() {
    }

    public User(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public User(Integer userId, int age, String name) {
        this.userId = userId;
        this.age = age;
        this.name = name;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}
